package cn.yunhe.zk.lession01;

import org.I0Itec.zkclient.ZkClient;
import org.I0Itec.zkclient.serialize.SerializableSerializer;
import org.apache.zookeeper.data.Stat;

public class getData {
	public static void main(String[] args) {
		// ZK集群的地址
		String ZKServers = "192.168.30.164:2181,192.168.30.165:2181,192.168.30.166:2181";
		ZkClient zkClient = new ZkClient(ZKServers, 10000, 10000, new SerializableSerializer());
		System.out.println("conneted ok!");

		Stat stat = new Stat();
		// 获取 节点中的对象
		User user = zkClient.readData("/testUserNode", stat);
		System.out.println(user.getName());
		System.out.println(stat);

		boolean e = zkClient.exists("/testUserNode");
		// 返回 true表示节点存在 ，false表示不存在
		System.out.println(e);
		
		//删除单独一个节点，返回true表示成功  
        boolean e1 = zkClient.delete("/testUserNode");  
        //删除含有子节点的节点  
        boolean e2 = zkClient.deleteRecursive("/test");  
          
        //返回 true表示节点成功 ，false表示删除失败  
        System.out.println(e1);  
        
        User user1 = new User();  
        user1.setId(2);  
        user1.setName("testUser2");  
        /** 
         * testUserNode 节点的路径 
         * user 传入的数据对象 
         */  
        zkClient.writeData("/testUserNode", user1);  
	}
}
